基于Java的俄罗斯方块游戏的设计与实现(含源文件)

您所在的位置:网站首页 给排水示意图 小方框 基于Java的俄罗斯方块游戏的设计与实现(含源文件)

基于Java的俄罗斯方块游戏的设计与实现(含源文件)

2023-09-26 08:35| 来源: 网络整理| 查看: 265

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye

基于Java的俄罗斯方块游戏的设计与实现 摘  要     俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑、手机、掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛,人所共知。俄罗斯方块游戏简单的基本规则是有小方块组成的7种不同的规则图形陆续从屏幕上落下,玩家操作移动使其下落拼出一条完整的横条,随即会消失,玩家得分,游戏等级提高,当没有被消除的图形堆积到屏幕顶端时,游戏结束。     俄罗斯方块游戏最初是由俄罗斯人阿列克谢•帕基特诺夫在1984年开发的休闲小游戏,曾几何时它创造了无可匹敌的商业价值,影响了一代休闲小游戏的开发与产业链。随着信息时代科技时代的不断发展和变化,计算机已经普及到每一个人的生活中,在繁忙的工作生活中,这一类休闲小游戏给人们带来了些许的放松。     这篇论文详细的描述分析了经典传统的俄罗斯方块实现的基本思路和一些基本游戏规则,在此基础之上,更进一步地开发出俄罗斯方块的创新创意模式,在经典游戏基础上开发出随着分数增高而等级增高难度加大的模式,并且创意性的开发出可操控方块颜色变换的模块,并且增添了游戏声音和音乐模块。本论文对上述功能给出了具体实现流程、详细描述、和一些源代码。 本论文阐述了俄罗斯方块游戏的开发和发展历史、开发此游戏的意义以及开发环境并根据软件工程开发软件和java编写程序的相关知识,对程序的需求分析、概要设计、详细设计与实现、调试运行进行了一系列描述。     此次程序设计是在Microsoft Windows 7系统下,以Java为开发语言,在Eclipse开发平台上进行游戏的设计与实现。

关键词:游戏设计;俄罗斯方块;软件工程;Java;Eclipse。

  Based on the design and implementation of Java game Tetris Abstract Tetris is a popular all over the world, from the beginning to now has been enduring the computer, mobile phone, handheld game machine products, is a game with simple rules, but not the lack of fun, simple classic game, easy to use, wide application scope, basic rules of simple Tetris game evident to anyone. There is 7 different to the regular pattern of the composition of the small box on the screen in succession from the fall, the operation of the mobile game player to spell out the whereabouts of a complete bar, then disappear, game player score, game level, when the accumulation is not eliminated graphics to the top of the screen, the game is over.       Tetris game is the first by the Russians in 1984 Alexei Pazhitnov developed a casual game, only a short while ago it creates unmatched business value, affect the development of a generation of casual games and industrial chain. With the information age era of science and technology continuous development and change, the computer has spread to every person's life, in the busy working life, this kind of casual games brought some people to relax.        This paper gives a detailed description of the basic ideas of the traditional analysis of classic Tetris and some basic rules of the game, on this basis, further develop the creative mode in Tetris, the classic game developed with the scores increased and the higher rank of difficulty of the model, and develop creative control box color transform the module of the game, and add music and sound module. In this thesis the function given the specific implementation process, described in detail, and some of the source code.        This paper describes the development history and development of Tetris game, developed this game meaning as well as the development environment and according to the related knowledge of software engineering and software development of Java programming, analysis, outline design of program requirements, detailed design and implementation, debugging and running a series of description.

      The program is designed in Microsoft Windows 7 system, with Java as the development language, Eclipse development platform for the design and implementation of the game

Key Words: Game design; Tetris, Software engineering, Java;Eclipse。

 

目录

基于Java的俄罗斯方块游戏的设计与实现    I 摘  要    I Based on the design and implementation of Java game Tetris    II Abstract    II 1 绪论    1 1.1程序开发背景及意义    1 1.2开发技术概述    2 1.3俄罗斯方块游戏的研究现状    2 1.3.1 国内外研究现状    2 1.3.2 文献综述    3 2相关技术    4 2.1JAVA简介    4 2.2 Swing组件简介    4 2.3Eclipse开发平台简介    5 2.4系统平台环境:    6 2.4.1 硬件平台:    6 2.4.2 软件平台:    6 3  系统分析    7 3.1可行性分析    7 3.1.1经济可行性分析    8 3.1.2技术可行性分析    8 3.1.3社会可行性分析    8 3.2需求分析    8 3.2.1 功能性需求    9 3.2.2 非功能性需求    9 3.2.3  接口控制    9 4  系统的概要设计    11 4.1  系统的功能设计    11 4.1.1  手动处理业务的基本流程    11 4.1.2  基本流程的功能模块    12 5  系统的详细设计与实现    15 5.1  游戏主界面显示模块    15 5.2  画布、方块显示模块    16 5.2.1  背景画布模块设计    16 5.2.2  预览方块模块设计    19 5.2.3  方块移动、旋转模块设计    21 5.3  控制面版模块    25 5.3.1  菜单栏模块设计    25 5.3.2  控制面板按钮设计    26 6  系统的测试运行    29 6.1 测试概述    29 6.1.1  测试原则    29 6.1.2  测试方法    30 6.1.3  测试意义及注意事项    31 6.2 游戏代码、算法的测试    31 6.3 游戏界面菜单选项的功能测试    32 6.4 按键事件的功能测试    34 6.5 方块的堆砌与消行功能测试    35 6.6  测试结果    35 结  论    36 参考文献    38 致 谢    39 附录A 外文原文    40 The psychology of Tetris    40 附录B 外文翻译    43 俄罗斯方块的心理效应    43

    

 

1 绪论     绪论从程序的开发背景、开发意义以及所需要开发技术和目前国内外对俄罗斯方块游戏的研究现状进行了简要的叙述。 1.1程序开发背景及意义     俄罗斯方块游戏是一款流行于全世界并且经久不衰的游戏,是一款在计算机,手机,电视游戏机,掌上游戏机等一系列产品上都能玩的休闲小游戏,它曾经创造了几乎任何游戏都无可匹敌的轰动和无数的商业价值,是游戏史,软件开发史上的一件重要的大事。     在1984年6月的一天,俄罗斯莫斯科的数学家阿列克谢•帕基特诺夫(Alex Pajitnov)在工作地点莫斯科科学计算机中心玩过一个拼图游戏后突然受到启发,而设计出这款游戏,刚开始他只是在Electronica 60(一种计算机)上进行开发,后来经由瓦丁•格拉西莫夫(Vadim Gerasimov)移植到PC端,并且在莫斯科的计算机界广泛传播,俄罗斯方块开始大火,成为了有史以来最为畅销的经典休闲小游戏,至今还一如既往保持魅力。俄罗斯方块简单的基本游戏规则是在一个用于摆放小正方形的标准虚拟游戏场地,基本单位为小型正方形;由四个小型正方形组成7中不同的规则图形(田字形,Z字形,反Z字形,7字形,反7字形,T字形,长条形)通过玩家操作上键以90度,180度,270度,360度旋转方块一共有28种图形方案,通过左键右键左右移动,下键加速下落调整位置,是方块在屏幕底部拼出完整的一条或几条,然后消除,给新落下的方块腾出位置,每消除一条完整横条,玩家等级提高一级,当等级提高到一定等级时刚快下落速度加快,一旦没被消除的方块到达屏幕顶端,游戏结束。     随着计算机技术的日益更新和不断发展,俄罗斯方块游戏也不断地推出各式各样的模式,也有许多不同的版本供大家玩耍,因为游戏本身有简单,有复杂,能够很好地锻炼游戏玩家的脑力反应能力,和逻辑思维能力,还能给玩家带来无穷的游戏乐趣,所以深受广大玩家的喜欢。对于开发游戏软件,大多数人都感到触摸不到,很神奇,随着开发方法和工具的不断推陈出新,自己动手开发一些小游戏也并非遥不可及。俄罗斯方块游戏在游戏史上的地位无可匹敌,并且游戏的界面简约,代码并不是很复杂,互联网上也有很多关于俄罗斯方块游戏实现的一些算法和设计,难度并非特别大。     俄罗斯方块游戏简单,益智,以其独特简洁的界面和极具玩耍乐趣的模式让众多的游戏爱好者深陷其中,无法自拔,并且老少皆宜。在如今快节奏的生活当中,学生和工作党的学习工作压力也随之越来越大,每个人的任务逐渐繁重,越来越少的自由支配休息时间让人们更加迫切的需要有一些既简单又节省时间的休闲游戏供大家娱乐。毫无疑问,俄罗斯方块是一款简单益智有趣的休闲小游戏,并且可以移植到电脑、手机、平板电脑、电视游戏机、掌上游戏机、电子词典、Mp4等一系列便携设备上。本次课题研究,无论从技术开发上,还是社会意义上,都是很有价值的,是本人对游戏开发的一次胆大尝试。

1.2开发技术概述 软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科;设计包括程序设计语言,数据库,算法,软件开发工具,系统平台,设计模式等很多方面;在现代社会中,软件应用于电子邮件,嵌入式系统,人机交互界面,办公套件,操作系统,编辑器,数据库,游戏等多个典型方面;同时,在如今社会的各式各样的行业中都有计算机软件的应用,包括工业,农业,银行,航空,政府部门等等,能有效的促进经济和社会的发展,提高人们的工作效率和生活效率。 俄罗斯方块游戏开发代码相对来说不是特别复杂,本论文基于Java编程语言,采用Java语言中常用的Swing组件。Swing是Java中的图形用户界面(GUI)工具包,是Java基础类的一部分,包括了文本框,分隔窗格,按钮,表等GUI器件,使用纯Java写成,开发人员可以用少量的代码就可以写出Swing各式各样的灵活丰富的功能和模块化组件来创建漂亮优美的用户界面。Java Swing组件中包括以下几个常用的类:JFrame 是屏幕上的图形对象,可以有最大化、最小化、关闭等基本操作,是Java的GUI程序设计的基本思路;JPanel 能够用来嵌套,对窗体中有相同逻辑功能的组件进行组合,能够加到JFrame窗体中,是Swing中的面板容器类。 JLabel 对象是用来显示文本、图像或同时显示二者并且可以设置其中的一些属性;JTextField是一个用来编辑单行文本的运行组件;JButton是一个用来创建按钮的类。除此之外,Java中的Swing组件中还包含有许多功能的类,可以简单的来创建一些优美漂亮的图形界面。 1.3俄罗斯方块游戏的研究现状 1.3.1 国内外研究现状 进入二十一世纪以来,计算机不断地发展,电竞行业也在不断进入上升阶段,游戏软件的开发越来越火,游戏软件就如同戏剧、电影一样,是一种越来越火的新型的综合型艺术产品。跟一般的网页开发,软件开发不同,计算机游戏软件的开发不仅需要设计开发人员掌握专业的程序设计技巧和软件工程的方法,还需要专业的游戏领域的知识,专业的游戏开发知识,才能有效的开发和实现游戏的生动界面,音效处理,并且跟玩家达成完美的交互等。 前苏联科学家阿列克谢•帕基特诺夫(Alex Pajitnov)原本开发的《俄罗斯方块》游戏是作为一种教育用软件的,之后开始提供授权给各个游戏公司,至此以后,各大平台上就出现了各种不同版本的游戏。 Game Boy版的俄罗斯方块游戏在日本本土卖出了424万套,成为了Game Boy游戏史上卖的最火的游戏。在海湾战争期间,俄罗斯方块游戏成为了前线美军最适合的消磨时间的游戏之一。 俄罗斯方块游戏的基本原理对于大多数程序员来说是相对比较简单的,并且俄罗斯方块游戏具有数学性,动态性和很强的知名度。也经常拿来作为游戏程序设计的练习题材。

1.3.2 文献综述 文献[1]和文献[2]以零基础讲解为宗旨,用实例引导读者深入学习,采染基础知识→核心技术→高级应用→项目实战的讲解模式,深入浅出地讲解Java的各项技术及实战技能。从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术。包括:熟悉Eclipse开发工具,Java 语言基础,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O输入输出,反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级布局管理器,高级事件处理,AWT绘图与音频播放等。这两本文献覆盖了“够用”得Java语言和技术,实例丰富,内容详尽,对于初学者和有一定的Java基础的学生来说,可以快速的提高学生的开发技术和技能。本课题设计中有关图形界面设计的内容、用户界面构件及设计、事件处理与窗口构造构件以及Swing的基础知识及其系列组件等方面的内容都参考了这两本文献,给予了我很大的帮助。 文献[3]主要讲解了包括2D绘图;游戏动画的制作;网络程序基础;强化游戏界面;人工智能与2.5D游戏;扫雷、迷宫、俄罗斯方块等游戏实例;碰撞、粒子系统、5D立体坐标等绘图算法;多人联机游戏制作。收集了一系列的算法公式,让读者能更方便的利用。以由浅入深的方式,逐步分析游戏设计的过程,带领读者解决游戏开发阶段可能遇到的问题,并总结了Java游戏制作的实战经验。本课程设计中游戏的原理、动画的实现、音效的处理、鼠标和键盘事件处理、人工智能等知识都参考了该文献。 文献[4]探讨了经典的电脑游戏-俄罗斯方块的程序原理及其实现技术,从软件工程的角度描述了程序的功能要求、数据结构以及图形旋转、坐标变换等关键技术。通过这本文献让我了解了更多的关于俄罗斯方块游戏开发的专业领域的知识。 文献[5]属于进阶性书籍,更加侧重于讲解如何使用Java来思考解决问题。这本文献本次课程设计中,给予了我很多关于Java在编程时编程思想和技巧上很多的帮助。

2相关技术 2.1 JAVA简介     Java是由Sun Microsystems公司推出的Java面向对象程序设计语言和Java平台的总称。是一种能够编写跨平台应用软件的面向对象的程序设计语言。Java 技术具有良好的通用性、高效性、跨平台性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 Java语言历时近二十年,已发展成为人类计算机史上影响力最深远的编程语言之一,从某种程度上看,它甚至超出了编程语言的范畴,成为了一种开发平台,一种开发规范模式。更甚至于:Java已经成为了一种信仰,Java语言所崇尚的开源,自由,等精神,吸引了全世界无数的优秀的程序员。事实上,从人类有记载历史以来,从来没有一种编程语言可以吸引这么多优秀的程序员使用,也没有一种编程语言能衍生出这么多的开源框架。 Java语言是一门非常纯粹的面向对象的编程语言,它吸引了C语言和C++语言的各种优点,又摒弃了C++语言里难以理解的多继承,指针等概念,因此Java语言具有功能强大和简单易用两个非常良好的特征。Java语言作为静态面向对象编程语言的代表,极好地表现了面向对象理论,允许程序员以一种更加优雅的思维方式进行更加复杂的编程开发。 不仅如此,Java语言中相关的Java EE规范中包含了当今时下最流行的各种软件工程理念,各种先进的设计思想,都可以在Java EE规范、平台以及相关的框架中找见相应的实现原理。从某种程度上来看,学精通了Java语言相关的各种方面的知识,相当于系统的学习了软件开发的相关知识,而不是仅仅学完了一门编程语言。 时至今日,大部分银行,电信,证券,电子商务,电子政务等各种系统或者已经采用Java EE平台构建



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3